Simple network management protocol (SNMP) is a protocol that facilitates centralized management of computing devices that are communicatively coupled to a network. Each managed computing device includes an SNMP agent that maintains a management information base (MIB) that contains managed objects, referred to herein as object variables, for storing information. Object variables are identified by an object identifier (01D). The particular information that is maintained may depend in part on the particular computing device. For example, a printer computing device may include a MIB that contains object variables that store the number of lines printed by the printer, an amount of remaining toner, a firmware level, or the like. A general purpose computing device may include a MIB that contains an object variable that identifies a current temperature of a processor device of the computing device.
A management device, sometimes referred to as a network management station (NMS), can query the computing devices by sending SNMP commands to the respective SNMP agents that request information maintained in the corresponding MIBs. For example, the management device may send an SNMP “GET Request” protocol data unit (PDU) to a computing device to request the object variable that identifies the temperature of the processing device of the computing device. In response, the SNMP agent accesses the MIB, retrieves the corresponding temperature value, and sends the temperature value to the management device.
When a MIB is initially defined, each object variable is given an access type, such as read-only, read-write, write-only, or the like. Read-write object variables may be written to by the management device via an SNMP command, such as a “SET Request” command. A read-only object variable cannot be written to. For example, an object variable that maintains a temperature of the processor device may be read-only to prevent changes to the object variable via SNMP.
Object variables in a MIB may have expected values, and a non-desirable value outside of such expected values may cause an exception handling process to occur. For example, a non-desirable value may be reported asynchronously by the computing device to the management device using a Trap PDU. Alternatively, the management device may determine that an object variable has an undesirable value by actively monitoring corresponding object variables, and upon such determination, may issue a warning message to a network operator, for example. Where such object variables have an access type of read-only, testing such exception processes and verifying NMS logic can be challenging. A user may need to manipulate the computing device to cause the object variable to have a non-desirable value. For example, in the case of an object variable that maintains the temperature of a processing device, the computing device may need to be manipulated to increase the temperature of the processing device to a non-desirable value. This may be impractical and/or may physically damage the computing device.